/**
 * 折扣工具函数
 */

/**
 * 检查折扣率是否应该显示
 * @param discountRate 折扣率（1-10，1表示1折，10表示原价）
 * @returns 是否应该显示折扣标签
 */
export function shouldShowDiscount(discountRate: number): boolean {
  return discountRate > 0 && discountRate <= 10
}

/**
 * 计算折扣率
 * @param currentPrice 当前价格
 * @param originalPrice 原价
 * @returns 折扣率（1-10）
 */
export function calculateDiscountRate(currentPrice: number, originalPrice: number): number {
  if (originalPrice <= 0 || currentPrice <= 0) return 0
  return Math.round((currentPrice / originalPrice) * 10)
}

/**
 * 格式化折扣显示文本
 * @param discountRate 折扣率
 * @returns 格式化的折扣文本
 */
export function formatDiscountText(discountRate: number): string {
  if (!shouldShowDiscount(discountRate)) return ''
  return `${discountRate}折`
}

/**
 * 检查广告折扣文本是否应该显示
 * @param subtitle 广告副标题
 * @returns 是否应该显示
 */
export function shouldShowDiscountAd(subtitle: string): boolean {
  // 检查是否包含折扣信息
  const discountMatch = subtitle.match(/(\d+)折/)
  if (!discountMatch) return true // 不包含折扣信息的广告正常显示
  
  const discountRate = parseInt(discountMatch[1])
  return shouldShowDiscount(discountRate)
}
